package hibernate.method.interfaces;

import java.util.List;

import hibernate.model.Message;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

public interface MessageMethodsInterface {
	
	/*wysy�a wiadomo�c (tworzy nowy obiekt wiadomosci) */
	public void send(SessionFactory sessionFactory, Session session, int receiver_id, int sender_id, String subject, String content);
	
	/*oznacza wiadomosc jako odebran� */
	public void receive (SessionFactory sessionFactory, Session session, Message msg);
	
	/* wybiera wiadomosc (obiekt) na podstawie jej id. Dzieki temu mozemy operowac na obiekcie*/
	public Message id_to_msg (SessionFactory sessionFactory, Session session, int message_id);
	
	/*zwraca liste wiadomosci gdzie receiver_id zostal wskazany jako odbiorca */
	public List <Message> list_by_receiver (SessionFactory sessionFactory, Session session, int receiver_id);
	
	/*zwraca liste wiadomosci gdzie sender_id zostal wskazany jako nadawca */
	public List <Message> list_by_sender (SessionFactory sessionFactory, Session session, int sender_id);
	
	

	
}
